popover: Use GdkPopup
authorMatthias Clasen <mclasen@redhat.com>
Sat, 29 Feb 2020 14:44:05 +0000 (09:44 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 11 Mar 2020 23:35:55 +0000 (19:35 -0400)
gtk/gtkpopover.c

index 404bdc9b1dbf82422db361f71d234e12a8eff23a..b3e3e79b3b1f876f117f38d60cd72a5df94c0c10 100644 (file)
@@ -351,28 +351,28 @@ update_popover_layout (GtkPopover     *popover,
   GdkRectangle final_rect;
   gboolean flipped_x;
   gboolean flipped_y;
+  GdkPopup *popup = GDK_POPUP (priv->surface);
 
   g_clear_pointer (&priv->layout, gdk_popup_layout_unref);
   priv->layout = layout;
 
   final_rect = (GdkRectangle) {
+    .x = gdk_popup_get_position_x (GDK_POPUP (priv->surface)),
+    .y = gdk_popup_get_position_y (GDK_POPUP (priv->surface)),
     .width = gdk_surface_get_width (priv->surface),
     .height = gdk_surface_get_height (priv->surface),
   };
-  gdk_surface_get_position (priv->surface,
-                            &final_rect.x,
-                            &final_rect.y);
 
   flipped_x =
     did_flip_horizontally (gdk_popup_layout_get_rect_anchor (layout),
-                           gdk_surface_get_popup_rect_anchor (priv->surface)) &&
+                           gdk_popup_get_rect_anchor (popup)) &&
     did_flip_horizontally (gdk_popup_layout_get_surface_anchor (layout),
-                           gdk_surface_get_popup_surface_anchor (priv->surface));
+                           gdk_popup_get_surface_anchor (popup));
   flipped_y =
     did_flip_vertically (gdk_popup_layout_get_rect_anchor (layout),
-                         gdk_surface_get_popup_rect_anchor (priv->surface)) &&
+                         gdk_popup_get_rect_anchor (popup)) &&
     did_flip_vertically (gdk_popup_layout_get_surface_anchor (layout),
-                         gdk_surface_get_popup_surface_anchor (priv->surface));
+                         gdk_popup_get_surface_anchor (popup));
 
   gtk_widget_allocate (GTK_WIDGET (popover),
                        gdk_surface_get_width (priv->surface),
@@ -544,7 +544,7 @@ present_popup (GtkPopover *popover)
 
   layout = create_popup_layout (popover);
   gtk_widget_get_preferred_size (GTK_WIDGET (popover), NULL, &req);
-  if (gdk_surface_present_popup (priv->surface,
+  if (gdk_popup_present (GDK_POPUP (priv->surface),
                                  MAX (req.width, 1),
                                  MAX (req.height, 1),
                                  layout))